home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d19 / cal14s6.arc / DOSMEM.PAS < prev    next >
Pascal/Delphi Source File  |  1988-12-31  |  861b  |  49 lines

  1.  
  2. (*
  3.  * HeapMem - Heap Memory Management Unit (heap version of DosMem)
  4.  *
  5.  * (C) 1988 Samuel H. Smith
  6.  *
  7.  *)
  8.  
  9. {$r-,s-}
  10.  
  11. unit DosMem;
  12.  
  13. interface
  14.    uses DOS;
  15.  
  16.    type
  17.       wordarray = array[1..2] of word;
  18.       wordptr = ^wordarray;
  19.  
  20.    procedure dos_getmem(var ptrvar; size: word);
  21.    procedure dos_freemem(var ptrvar);
  22.  
  23.  
  24. implementation
  25.  
  26.    procedure dos_getmem(var ptrvar; size: word);
  27.    var
  28.       msize:   wordptr absolute ptrvar;
  29.    begin
  30.       {writeln('getmem ',size);}
  31.       getmem(msize, size+2);
  32.       msize^[1] := size+2;
  33.       msize := @msize^[2];
  34.    end;
  35.  
  36.    procedure dos_freemem(var ptrvar);
  37.    var
  38.       msize:   wordptr absolute ptrvar;
  39.       i:       integer;
  40.    begin
  41.       i := 0;
  42.       msize := @msize^[i];
  43.       {writeln('freemem ',msize^[1]);}
  44.       freemem(msize,msize^[1]);
  45.    end;
  46.  
  47. end.
  48.  
  49.